package com.brainhealth.customer.service;

import java.util.List;
import com.brainhealth.customer.domain.RoomUserProperty;

/**
 * 用户道具Service接口
 * 
 * @author ruoyi
 * @date 2023-11-02
 */
public interface IRoomUserPropertyService 
{
    /**
     * 查询用户道具
     * 
     * @param id 用户道具主键
     * @return 用户道具
     */
    public RoomUserProperty selectRoomUserPropertyById(Long id);

    /**
     * 查询最大道具ID
     * @return
     */
    Integer getMaxPropertyId();

    /**
     * 查询用户道具列表
     * 
     * @param roomUserProperty 用户道具
     * @return 用户道具集合
     */
    public List<RoomUserProperty> selectRoomUserPropertyList(RoomUserProperty roomUserProperty);


    /**
     * 查询用户道具列表
     *
     * @param roomUserProperty 用户道具
     * @return 用户道具集合
     */
    public List<RoomUserProperty> getRoomUserPropertyList(RoomUserProperty roomUserProperty);

    /**
     * 查询用户当前聊天包
     * @param roomUserProperty
     * @return
     */
    RoomUserProperty getRoomUserProperty(RoomUserProperty roomUserProperty);

    /**
     * 新增用户道具
     * 
     * @param roomUserProperty 用户道具
     * @return 结果
     */
    public int insertRoomUserProperty(RoomUserProperty roomUserProperty);

    /**
     * 修改用户道具
     * 
     * @param roomUserProperty 用户道具
     * @return 结果
     */
    public int updateRoomUserProperty(RoomUserProperty roomUserProperty);

    /**
     * 修改用户道具
     *
     * @param roomUserProperty 用户道具
     * @return 结果
     */
    int updateUserProperty(RoomUserProperty roomUserProperty);

    /**
     * 修改用户道具
     *
     * @param roomUserProperty 用户道具
     * @return 结果
     */
    int updateRoomUserPropertyByPropertyId(RoomUserProperty roomUserProperty);

    /**
     * 重新布置
     * @param roomUserProperty
     * @return
     */
    int resetProperty(RoomUserProperty roomUserProperty);

    /**
     * 批量删除用户道具
     * 
     * @param ids 需要删除的用户道具主键集合
     * @return 结果
     */
    public int deleteRoomUserPropertyByIds(Long[] ids);

    /**
     * 删除用户道具信息
     * 
     * @param id 用户道具主键
     * @return 结果
     */
    public int deleteRoomUserPropertyById(Long id);
}
